Dynomotion

Group: DynoMotion Message: 2091 From: frank_19_88 Date: 11/2/2011
Subject: Motor is shaking
Hey,

I connected my linear encoder 1um (4um/sinus) to input 0.(gain 1 & offset 0))
And I connected my DAC driver to output 0 (gain 1 & offset -11)
The DAC driver is controlling the motor and god feedback from the tacho.

I have bean testing with the feed forward and PID settings, and got an maximum error of + - 10um (10 pulse). Can I do better with an Maho milling machine?

At the moment the motor is 'shaking' around the 0-point from +1um to -3um when I don't move the motor and try to point 0.
See the screen shots:
http://www.hoefon.nl/0-point.png
http://www.hoefon.nl/0-point2.png

Is it possible to hold the motor at the 0-point?
I did try to use I-action: 0.00015 but it gets only worse.
And tried P-action 0.55 but still shaking.

Thank you,
Group: DynoMotion Message: 2093 From: Tom Kerekes Date: 11/2/2011
Subject: Re: Motor is shaking
Hi Frank,
 
The first thing to try is to increase the tachometer gain in the amplifier.  Maybe your amplifier has a setting or potentiometer for this.  This is because the the tachometer senses motion earlier than the linear encoder will because it is before any backlash or compliance in the mechanism.
 
The next option would be to try some D gain.  When adding high D gain you may notice the Output becomes "spikey" because of the quantization error of the encoder (integer steps).  In this case set the 3rd Filter on the Filter Screen as a 2nd Order Low Pass at 1000Hz Q=1.4 to smooth the output.
 
You might also add a tiny amount of I gain.  Too much I gain will make the overshoot and oscillation worse, but a small enough value should have no noticeable detrimental effect but it will force the average error to be zero (for example +2um -2um rather than +1um -3um).
 
As a last resort you can try using "dead band".  This allows you to reduce the gain in a non-linear manner for small errors.  Or even make the error zero.  Sort of like saying stop driving the motor when we get "close".  This generally makes the errors larger but reduces oscillation and "hunting" near zero.  Experiment with a Range of ~10 counts and a Gain of 0.1
 
HTH
Regards
TK

Group: DynoMotion Message: 2168 From: frank_19_88 Date: 11/8/2011
Subject: Re: Motor is shaking
Hi Tom,

Thank you very match,

But at the z-as I am running at an other problem. because to move the table up is more heavy then moving the table down.

when i move the table going up give's me an following error of max 20 um but when I am going down the error dramatically increases:
http://www.hoefon.nl/back.png

Do you know how i can fix this problem?
And can you tell me wich effect the 'feed forward A' option has.

Tank you,

Frank

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Frank,
>  
> The first thing to try is to increase the tachometer gain in the amplifier.  Maybe your amplifier has a setting or potentiometer for this.  This is because the the tachometer senses motion earlier than the linear encoder will because it is before any backlash or compliance in the mechanism.
>  
> The next option would be to try some D gain.  When adding high D gain you may notice the Output becomes "spikey" because of the quantization error of the encoder (integer steps).  In this case set the 3rd Filter on the Filter Screen as a 2nd Order Low Pass at 1000Hz Q=1.4 to smooth the output.
>  
> You might also add a tiny amount of I gain.  Too much I gain will make the overshoot and oscillation worse, but a small enough value should have no noticeable detrimental effect but it will force the average error to be zero (for example +2um -2um rather than +1um -3um).
>  
> As a last resort you can try using "dead band".  This allows you to reduce the gain in a non-linear manner for small errors.  Or even make the error zero.  Sort of like saying stop driving the motor when we get "close".  This generally makes the errors larger but reduces oscillation and "hunting" near zero.  Experiment with a Range of ~10 counts and a Gain of 0.1
>  
> HTH
> Regards
> TK
>
>
> ________________________________
> From: frank_19_88 <frank_19_88@...>
> To: DynoMotion@yahoogroups.com
> Sent: Wednesday, November 2, 2011 11:10 AM
> Subject: [DynoMotion] Motor is shaking
>
>
>  
> Hey,
>
> I connected my linear encoder 1um (4um/sinus) to input 0.(gain 1 & offset 0))
> And I connected my DAC driver to output 0 (gain 1 & offset -11)
> The DAC driver is controlling the motor and god feedback from the tacho.
>
> I have bean testing with the feed forward and PID settings, and got an maximum error of + - 10um (10 pulse). Can I do better with an Maho milling machine?
>
> At the moment the motor is 'shaking' around the 0-point from +1um to -3um when I don't move the motor and try to point 0.
> See the screen shots:
> http://www.hoefon.nl/0-point.png
> http://www.hoefon.nl/0-point2.png
>
> Is it possible to hold the motor at the 0-point?
> I did try to use I-action: 0.00015 but it gets only worse.
> And tried P-action 0.55 but still shaking.
>
> Thank you,
>
Group: DynoMotion Message: 2169 From: Tom Kerekes Date: 11/8/2011
Subject: Re: Motor is shaking
Hi Frank,
 
I don't understand in your plot you have PID gains all zero!  Which effectively disables the servo feedback which is why you have huge errors (7000+ counts).  So the motion you are getting is entirely due to the feedforward.  Is that what you were intending to show?
 
Theoretically gravity is a simple constant offset.  The " I "  term of a PID loop is able to correct for any offset such that the average error above and below will always sum to zero.  However if the Z axis is binding moving one direction and not in the other direction that is a nonlinear effect where only the servo feedback can help reduce the error.
 
"Feedforward A" is Acceleration Feedforward.  An output is commanded which is proportional to the acceleration of the desired trajectory.  See:
 
 
As a side note: I notice your Jerk Limit setting is very low.  It is the same numeric value as the Acceleration setting.  This means that the acceleration will be gradually ramped up over 1 second and in your motion shown will never even achieve max acceleration.  You should probably use a value 10X larger. 
 
Regards
TK